Agents of Change: Educating Software Engineering Leaders
نویسندگان
چکیده
I n today's world of rapidly changing software technology, engineers must deal with new methods , tools, platforms, user expectations, and software markets. This changing environment underscores the need for software engineering education that not only teaches current technologies, but also trains engineers to adapt quickly to new technologies and trends, allowing them to anticipate and exploit emerging opportunities to improve their products and processes. The typical engineering education keeps engineers abreast of technological advances by offering courses in new techniques and tools. This is fine while the engineers are in school, but it doesn't necessarily prepare them for future challenges. A better approach would be to provide the engineers with models, skills, and analytical techniques that they can use throughout their career to evaluate emerging technologies and then successfully adapt appropriate ones to their organization's needs. These engineers, then, would act as agents of change. Over the past nine years, Carnegie Mellon University has been developing and refining such a curriculum in its master of software engineering (MSE) program. In the process, the university has had to determine how the curriculum would differ from traditional ones, what kinds of hands-on experience would be offered, and how much specialization to require. The result is a novel approach that aims to cultivate future leaders in software engineering. It combines a long-term, men-tored software development project with an unusual core curriculum that stresses broad-based models and problem-solving skills. Three critical issues must be addressed in the design of any professional software engineering program: 1. Core curriculum: Programs typically have a set of required courses that cover the basic knowledge and skills that students need. Traditional programs usually follow the software life-cycle model, with courses in requirements specification, specific design methods (such as object-oriented design), testing, and verification. Courses are usually independent of each other and can be taken in almost any order. 2. Practical system development: Most programs give students hands-on experience developing a software system, allowing them to apply material learned in class. The usual approach is to include a semester-long project course in the core curriculum. 3. Degree of specialization: Programs offer varying opportunities for students to develop a specialization in specific areas of software engineering. Most provide a selection of elective courses, but offer little guidance on how to package these courses into a coherent advanced program. Typically these courses are already offered in the department. The traditional approach …
منابع مشابه
Software change management – Technological dimension
Effective change management requires continual assessment of the potential change impact and the organization's willingness and ability to adopt the next wave of transformation. Naturally, no change management program goes completely according to the plan: people tend to react in unexpected ways; areas of anticipated resistance may fall away; and the external environment may shift. However, sup...
متن کاملeXtreme Programming--helpful or harmful in educating undergraduates?
Criticism is sometimes leveled at the academic Software Engineering community on the basis that current educational practices are too document-centric. Both students and practitioners have suggested that one of the popular, lighter-weight, agile methods would be a better choice. This paper examines the educational goals for undergraduate Software Engineering education and considers how they mig...
متن کاملA Model for Educating Real-Time Software Engineers On-Demand
This paper discusses educating software engineers at the undergraduate level to prepare them for taking immediately available jobs in industry, in response to the industry demand in the area of real-time systems. It is focused on the innovativeness of organizational aspects of the educational process, involving its stakeholders, rather than on the curricular aspects, traditionally considered fi...
متن کاملEngineering Design in the Creative Age
McMaster University has initiated a new graduate program in engineering practice aimed at educating tomorrow’s engineering design leaders. Graduates of engineering schools are well versed in technology and its application but must acquire new skills and competencies in innovation and design in order to become global leaders in their industries. The leading thinkers in engineering design innovat...
متن کاملEducational Encounters of the Third Kind
An engineer who becomes an educator in a school of software engineering has the mission to teach how to design and construct software systems, therein applying his or her knowledge and expertise. However, due to their engineering background, engineers may forget that educating a person is not the same as designing a machine, since a machine has a well-defined goal, whilst a person is capable to...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- IEEE Computer
دوره 30 شماره
صفحات -
تاریخ انتشار 1997